/*
 * An XML document type.
 * Localname: entity-mappings
 * Namespace: http://java.sun.com/xml/ns/persistence/orm
 * Java type: com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument
 *
 * Automatically generated - do not modify.
 */
package com.googlecode.horncomb.orm.jpa.v10.xmlbeans.impl;
/**
 * A document containing one entity-mappings(@http://java.sun.com/xml/ns/persistence/orm) element.
 *
 * This is a complex type.
 */
@SuppressWarnings("unchecked")
public class EntityMappingsDocumentImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument
{

    /**  */
	private static final long serialVersionUID = -2930819585825001977L;


	public EntityMappingsDocumentImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }

    private static final javax.xml.namespace.QName ENTITYMAPPINGS$0 =
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "entity-mappings");


    /**
     * Gets the "entity-mappings" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument.EntityMappings getEntityMappings()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument.EntityMappings target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument.EntityMappings)get_store().find_element_user(ENTITYMAPPINGS$0, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }

    /**
     * Sets the "entity-mappings" element
     */
    public void setEntityMappings(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument.EntityMappings entityMappings)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument.EntityMappings target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument.EntityMappings)get_store().find_element_user(ENTITYMAPPINGS$0, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument.EntityMappings)get_store().add_element_user(ENTITYMAPPINGS$0);
            }
            target.set(entityMappings);
        }
    }

    /**
     * Appends and returns a new empty "entity-mappings" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument.EntityMappings addNewEntityMappings()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument.EntityMappings target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument.EntityMappings)get_store().add_element_user(ENTITYMAPPINGS$0);
            return target;
        }
    }
    /**
     * An XML entity-mappings(@http://java.sun.com/xml/ns/persistence/orm).
     *
     * This is a complex type.
     */
    public static class EntityMappingsImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityMappingsDocument.EntityMappings
    {

        /**  */
		private static final long serialVersionUID = -2468723412679679915L;


		public EntityMappingsImpl(org.apache.xmlbeans.SchemaType sType)
        {
            super(sType);
        }

        private static final javax.xml.namespace.QName DESCRIPTION$0 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "description");
        private static final javax.xml.namespace.QName PERSISTENCEUNITMETADATA$2 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "persistence-unit-metadata");
        private static final javax.xml.namespace.QName PACKAGE$4 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "package");
        private static final javax.xml.namespace.QName SCHEMA$6 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "schema");
        private static final javax.xml.namespace.QName CATALOG$8 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "catalog");
        private static final javax.xml.namespace.QName ACCESS$10 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "access");
        private static final javax.xml.namespace.QName SEQUENCEGENERATOR$12 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "sequence-generator");
        private static final javax.xml.namespace.QName TABLEGENERATOR$14 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "table-generator");
        private static final javax.xml.namespace.QName NAMEDQUERY$16 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "named-query");
        private static final javax.xml.namespace.QName NAMEDNATIVEQUERY$18 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "named-native-query");
        private static final javax.xml.namespace.QName SQLRESULTSETMAPPING$20 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "sql-result-set-mapping");
        private static final javax.xml.namespace.QName MAPPEDSUPERCLASS$22 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "mapped-superclass");
        private static final javax.xml.namespace.QName ENTITY$24 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "entity");
        private static final javax.xml.namespace.QName EMBEDDABLE$26 =
            new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "embeddable");
        private static final javax.xml.namespace.QName VERSION$28 =
            new javax.xml.namespace.QName("", "version");


        /**
         * Gets the "description" element
         */
        public java.lang.String getDescription()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(DESCRIPTION$0, 0);
                if (target == null)
                {
                    return null;
                }
                return target.getStringValue();
            }
        }

        /**
         * Gets (as xml) the "description" element
         */
        public org.apache.xmlbeans.XmlString xgetDescription()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(DESCRIPTION$0, 0);
                return target;
            }
        }

        /**
         * True if has "description" element
         */
        public boolean isSetDescription()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(DESCRIPTION$0) != 0;
            }
        }

        /**
         * Sets the "description" element
         */
        public void setDescription(java.lang.String description)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(DESCRIPTION$0, 0);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(DESCRIPTION$0);
                }
                target.setStringValue(description);
            }
        }

        /**
         * Sets (as xml) the "description" element
         */
        public void xsetDescription(org.apache.xmlbeans.XmlString description)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(DESCRIPTION$0, 0);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(DESCRIPTION$0);
                }
                target.set(description);
            }
        }

        /**
         * Unsets the "description" element
         */
        public void unsetDescription()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(DESCRIPTION$0, 0);
            }
        }

        /**
         * Gets the "persistence-unit-metadata" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PersistenceUnitMetadata getPersistenceUnitMetadata()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PersistenceUnitMetadata target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PersistenceUnitMetadata)get_store().find_element_user(PERSISTENCEUNITMETADATA$2, 0);
                if (target == null)
                {
                    return null;
                }
                return target;
            }
        }

        /**
         * True if has "persistence-unit-metadata" element
         */
        public boolean isSetPersistenceUnitMetadata()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(PERSISTENCEUNITMETADATA$2) != 0;
            }
        }

        /**
         * Sets the "persistence-unit-metadata" element
         */
        public void setPersistenceUnitMetadata(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PersistenceUnitMetadata persistenceUnitMetadata)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PersistenceUnitMetadata target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PersistenceUnitMetadata)get_store().find_element_user(PERSISTENCEUNITMETADATA$2, 0);
                if (target == null)
                {
                    target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PersistenceUnitMetadata)get_store().add_element_user(PERSISTENCEUNITMETADATA$2);
                }
                target.set(persistenceUnitMetadata);
            }
        }

        /**
         * Appends and returns a new empty "persistence-unit-metadata" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PersistenceUnitMetadata addNewPersistenceUnitMetadata()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PersistenceUnitMetadata target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PersistenceUnitMetadata)get_store().add_element_user(PERSISTENCEUNITMETADATA$2);
                return target;
            }
        }

        /**
         * Unsets the "persistence-unit-metadata" element
         */
        public void unsetPersistenceUnitMetadata()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(PERSISTENCEUNITMETADATA$2, 0);
            }
        }

        /**
         * Gets the "package" element
         */
        public java.lang.String getPackage()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(PACKAGE$4, 0);
                if (target == null)
                {
                    return null;
                }
                return target.getStringValue();
            }
        }

        /**
         * Gets (as xml) the "package" element
         */
        public org.apache.xmlbeans.XmlString xgetPackage()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(PACKAGE$4, 0);
                return target;
            }
        }

        /**
         * True if has "package" element
         */
        public boolean isSetPackage()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(PACKAGE$4) != 0;
            }
        }

        /**
         * Sets the "package" element
         */
        public void setPackage(java.lang.String xpackage)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(PACKAGE$4, 0);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(PACKAGE$4);
                }
                target.setStringValue(xpackage);
            }
        }

        /**
         * Sets (as xml) the "package" element
         */
        public void xsetPackage(org.apache.xmlbeans.XmlString xpackage)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(PACKAGE$4, 0);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(PACKAGE$4);
                }
                target.set(xpackage);
            }
        }

        /**
         * Unsets the "package" element
         */
        public void unsetPackage()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(PACKAGE$4, 0);
            }
        }

        /**
         * Gets the "schema" element
         */
        public java.lang.String getSchema()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(SCHEMA$6, 0);
                if (target == null)
                {
                    return null;
                }
                return target.getStringValue();
            }
        }

        /**
         * Gets (as xml) the "schema" element
         */
        public org.apache.xmlbeans.XmlString xgetSchema()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(SCHEMA$6, 0);
                return target;
            }
        }

        /**
         * True if has "schema" element
         */
        public boolean isSetSchema()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(SCHEMA$6) != 0;
            }
        }

        /**
         * Sets the "schema" element
         */
        public void setSchema(java.lang.String schema)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(SCHEMA$6, 0);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(SCHEMA$6);
                }
                target.setStringValue(schema);
            }
        }

        /**
         * Sets (as xml) the "schema" element
         */
        public void xsetSchema(org.apache.xmlbeans.XmlString schema)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(SCHEMA$6, 0);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(SCHEMA$6);
                }
                target.set(schema);
            }
        }

        /**
         * Unsets the "schema" element
         */
        public void unsetSchema()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(SCHEMA$6, 0);
            }
        }

        /**
         * Gets the "catalog" element
         */
        public java.lang.String getCatalog()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(CATALOG$8, 0);
                if (target == null)
                {
                    return null;
                }
                return target.getStringValue();
            }
        }

        /**
         * Gets (as xml) the "catalog" element
         */
        public org.apache.xmlbeans.XmlString xgetCatalog()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(CATALOG$8, 0);
                return target;
            }
        }

        /**
         * True if has "catalog" element
         */
        public boolean isSetCatalog()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(CATALOG$8) != 0;
            }
        }

        /**
         * Sets the "catalog" element
         */
        public void setCatalog(java.lang.String catalog)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(CATALOG$8, 0);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(CATALOG$8);
                }
                target.setStringValue(catalog);
            }
        }

        /**
         * Sets (as xml) the "catalog" element
         */
        public void xsetCatalog(org.apache.xmlbeans.XmlString catalog)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(CATALOG$8, 0);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(CATALOG$8);
                }
                target.set(catalog);
            }
        }

        /**
         * Unsets the "catalog" element
         */
        public void unsetCatalog()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(CATALOG$8, 0);
            }
        }

        /**
         * Gets the "access" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType.Enum getAccess()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(ACCESS$10, 0);
                if (target == null)
                {
                    return null;
                }
                return (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType.Enum)target.getEnumValue();
            }
        }

        /**
         * Gets (as xml) the "access" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType xgetAccess()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType)get_store().find_element_user(ACCESS$10, 0);
                return target;
            }
        }

        /**
         * True if has "access" element
         */
        public boolean isSetAccess()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(ACCESS$10) != 0;
            }
        }

        /**
         * Sets the "access" element
         */
        public void setAccess(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType.Enum access)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(ACCESS$10, 0);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(ACCESS$10);
                }
                target.setEnumValue(access);
            }
        }

        /**
         * Sets (as xml) the "access" element
         */
        public void xsetAccess(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType access)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType)get_store().find_element_user(ACCESS$10, 0);
                if (target == null)
                {
                    target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType)get_store().add_element_user(ACCESS$10);
                }
                target.set(access);
            }
        }

        /**
         * Unsets the "access" element
         */
        public void unsetAccess()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(ACCESS$10, 0);
            }
        }

        /**
         * Gets a List of "sequence-generator" elements
         */
        public java.util.List<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator> getSequenceGeneratorList()
        {
            final class SequenceGeneratorList extends java.util.AbstractList<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator>
            {
                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator get(int i)
                    { return EntityMappingsImpl.this.getSequenceGeneratorArray(i); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator set(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator o)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator old = EntityMappingsImpl.this.getSequenceGeneratorArray(i);
                    EntityMappingsImpl.this.setSequenceGeneratorArray(i, o);
                    return old;
                }

                @Override
				public void add(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator o)
                    { EntityMappingsImpl.this.insertNewSequenceGenerator(i).set(o); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator remove(int i)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator old = EntityMappingsImpl.this.getSequenceGeneratorArray(i);
                    EntityMappingsImpl.this.removeSequenceGenerator(i);
                    return old;
                }

                @Override
				public int size()
                    { return EntityMappingsImpl.this.sizeOfSequenceGeneratorArray(); }

            }

            synchronized (monitor())
            {
                check_orphaned();
                return new SequenceGeneratorList();
            }
        }

        /**
         * Gets array of all "sequence-generator" elements
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator[] getSequenceGeneratorArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List targetList = new java.util.ArrayList();
                get_store().find_all_element_users(SEQUENCEGENERATOR$12, targetList);
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator[] result = new com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }

        /**
         * Gets ith "sequence-generator" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator getSequenceGeneratorArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator)get_store().find_element_user(SEQUENCEGENERATOR$12, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }

        /**
         * Returns number of "sequence-generator" element
         */
        public int sizeOfSequenceGeneratorArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(SEQUENCEGENERATOR$12);
            }
        }

        /**
         * Sets array of all "sequence-generator" element
         */
        public void setSequenceGeneratorArray(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator[] sequenceGeneratorArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(sequenceGeneratorArray, SEQUENCEGENERATOR$12);
            }
        }

        /**
         * Sets ith "sequence-generator" element
         */
        public void setSequenceGeneratorArray(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator sequenceGenerator)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator)get_store().find_element_user(SEQUENCEGENERATOR$12, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(sequenceGenerator);
            }
        }

        /**
         * Inserts and returns a new empty value (as xml) as the ith "sequence-generator" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator insertNewSequenceGenerator(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator)get_store().insert_element_user(SEQUENCEGENERATOR$12, i);
                return target;
            }
        }

        /**
         * Appends and returns a new empty value (as xml) as the last "sequence-generator" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator addNewSequenceGenerator()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SequenceGenerator)get_store().add_element_user(SEQUENCEGENERATOR$12);
                return target;
            }
        }

        /**
         * Removes the ith "sequence-generator" element
         */
        public void removeSequenceGenerator(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(SEQUENCEGENERATOR$12, i);
            }
        }

        /**
         * Gets a List of "table-generator" elements
         */
        public java.util.List<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator> getTableGeneratorList()
        {
            final class TableGeneratorList extends java.util.AbstractList<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator>
            {
                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator get(int i)
                    { return EntityMappingsImpl.this.getTableGeneratorArray(i); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator set(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator o)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator old = EntityMappingsImpl.this.getTableGeneratorArray(i);
                    EntityMappingsImpl.this.setTableGeneratorArray(i, o);
                    return old;
                }

                @Override
				public void add(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator o)
                    { EntityMappingsImpl.this.insertNewTableGenerator(i).set(o); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator remove(int i)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator old = EntityMappingsImpl.this.getTableGeneratorArray(i);
                    EntityMappingsImpl.this.removeTableGenerator(i);
                    return old;
                }

                @Override
				public int size()
                    { return EntityMappingsImpl.this.sizeOfTableGeneratorArray(); }

            }

            synchronized (monitor())
            {
                check_orphaned();
                return new TableGeneratorList();
            }
        }

        /**
         * Gets array of all "table-generator" elements
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator[] getTableGeneratorArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List targetList = new java.util.ArrayList();
                get_store().find_all_element_users(TABLEGENERATOR$14, targetList);
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator[] result = new com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }

        /**
         * Gets ith "table-generator" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator getTableGeneratorArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator)get_store().find_element_user(TABLEGENERATOR$14, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }

        /**
         * Returns number of "table-generator" element
         */
        public int sizeOfTableGeneratorArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(TABLEGENERATOR$14);
            }
        }

        /**
         * Sets array of all "table-generator" element
         */
        public void setTableGeneratorArray(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator[] tableGeneratorArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(tableGeneratorArray, TABLEGENERATOR$14);
            }
        }

        /**
         * Sets ith "table-generator" element
         */
        public void setTableGeneratorArray(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator tableGenerator)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator)get_store().find_element_user(TABLEGENERATOR$14, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(tableGenerator);
            }
        }

        /**
         * Inserts and returns a new empty value (as xml) as the ith "table-generator" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator insertNewTableGenerator(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator)get_store().insert_element_user(TABLEGENERATOR$14, i);
                return target;
            }
        }

        /**
         * Appends and returns a new empty value (as xml) as the last "table-generator" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator addNewTableGenerator()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.TableGenerator)get_store().add_element_user(TABLEGENERATOR$14);
                return target;
            }
        }

        /**
         * Removes the ith "table-generator" element
         */
        public void removeTableGenerator(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(TABLEGENERATOR$14, i);
            }
        }

        /**
         * Gets a List of "named-query" elements
         */
        public java.util.List<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery> getNamedQueryList()
        {
            final class NamedQueryList extends java.util.AbstractList<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery>
            {
                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery get(int i)
                    { return EntityMappingsImpl.this.getNamedQueryArray(i); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery set(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery o)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery old = EntityMappingsImpl.this.getNamedQueryArray(i);
                    EntityMappingsImpl.this.setNamedQueryArray(i, o);
                    return old;
                }

                @Override
				public void add(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery o)
                    { EntityMappingsImpl.this.insertNewNamedQuery(i).set(o); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery remove(int i)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery old = EntityMappingsImpl.this.getNamedQueryArray(i);
                    EntityMappingsImpl.this.removeNamedQuery(i);
                    return old;
                }

                @Override
				public int size()
                    { return EntityMappingsImpl.this.sizeOfNamedQueryArray(); }

            }

            synchronized (monitor())
            {
                check_orphaned();
                return new NamedQueryList();
            }
        }

        /**
         * Gets array of all "named-query" elements
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery[] getNamedQueryArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List targetList = new java.util.ArrayList();
                get_store().find_all_element_users(NAMEDQUERY$16, targetList);
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery[] result = new com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }

        /**
         * Gets ith "named-query" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery getNamedQueryArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery)get_store().find_element_user(NAMEDQUERY$16, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }

        /**
         * Returns number of "named-query" element
         */
        public int sizeOfNamedQueryArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(NAMEDQUERY$16);
            }
        }

        /**
         * Sets array of all "named-query" element
         */
        public void setNamedQueryArray(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery[] namedQueryArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(namedQueryArray, NAMEDQUERY$16);
            }
        }

        /**
         * Sets ith "named-query" element
         */
        public void setNamedQueryArray(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery namedQuery)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery)get_store().find_element_user(NAMEDQUERY$16, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(namedQuery);
            }
        }

        /**
         * Inserts and returns a new empty value (as xml) as the ith "named-query" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery insertNewNamedQuery(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery)get_store().insert_element_user(NAMEDQUERY$16, i);
                return target;
            }
        }

        /**
         * Appends and returns a new empty value (as xml) as the last "named-query" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery addNewNamedQuery()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedQuery)get_store().add_element_user(NAMEDQUERY$16);
                return target;
            }
        }

        /**
         * Removes the ith "named-query" element
         */
        public void removeNamedQuery(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(NAMEDQUERY$16, i);
            }
        }

        /**
         * Gets a List of "named-native-query" elements
         */
        public java.util.List<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery> getNamedNativeQueryList()
        {
            final class NamedNativeQueryList extends java.util.AbstractList<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery>
            {
                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery get(int i)
                    { return EntityMappingsImpl.this.getNamedNativeQueryArray(i); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery set(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery o)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery old = EntityMappingsImpl.this.getNamedNativeQueryArray(i);
                    EntityMappingsImpl.this.setNamedNativeQueryArray(i, o);
                    return old;
                }

                @Override
				public void add(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery o)
                    { EntityMappingsImpl.this.insertNewNamedNativeQuery(i).set(o); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery remove(int i)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery old = EntityMappingsImpl.this.getNamedNativeQueryArray(i);
                    EntityMappingsImpl.this.removeNamedNativeQuery(i);
                    return old;
                }

                @Override
				public int size()
                    { return EntityMappingsImpl.this.sizeOfNamedNativeQueryArray(); }

            }

            synchronized (monitor())
            {
                check_orphaned();
                return new NamedNativeQueryList();
            }
        }

        /**
         * Gets array of all "named-native-query" elements
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery[] getNamedNativeQueryArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List targetList = new java.util.ArrayList();
                get_store().find_all_element_users(NAMEDNATIVEQUERY$18, targetList);
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery[] result = new com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }

        /**
         * Gets ith "named-native-query" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery getNamedNativeQueryArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery)get_store().find_element_user(NAMEDNATIVEQUERY$18, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }

        /**
         * Returns number of "named-native-query" element
         */
        public int sizeOfNamedNativeQueryArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(NAMEDNATIVEQUERY$18);
            }
        }

        /**
         * Sets array of all "named-native-query" element
         */
        public void setNamedNativeQueryArray(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery[] namedNativeQueryArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(namedNativeQueryArray, NAMEDNATIVEQUERY$18);
            }
        }

        /**
         * Sets ith "named-native-query" element
         */
        public void setNamedNativeQueryArray(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery namedNativeQuery)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery)get_store().find_element_user(NAMEDNATIVEQUERY$18, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(namedNativeQuery);
            }
        }

        /**
         * Inserts and returns a new empty value (as xml) as the ith "named-native-query" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery insertNewNamedNativeQuery(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery)get_store().insert_element_user(NAMEDNATIVEQUERY$18, i);
                return target;
            }
        }

        /**
         * Appends and returns a new empty value (as xml) as the last "named-native-query" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery addNewNamedNativeQuery()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.NamedNativeQuery)get_store().add_element_user(NAMEDNATIVEQUERY$18);
                return target;
            }
        }

        /**
         * Removes the ith "named-native-query" element
         */
        public void removeNamedNativeQuery(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(NAMEDNATIVEQUERY$18, i);
            }
        }

        /**
         * Gets a List of "sql-result-set-mapping" elements
         */
        public java.util.List<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping> getSqlResultSetMappingList()
        {
            final class SqlResultSetMappingList extends java.util.AbstractList<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping>
            {
                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping get(int i)
                    { return EntityMappingsImpl.this.getSqlResultSetMappingArray(i); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping set(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping o)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping old = EntityMappingsImpl.this.getSqlResultSetMappingArray(i);
                    EntityMappingsImpl.this.setSqlResultSetMappingArray(i, o);
                    return old;
                }

                @Override
				public void add(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping o)
                    { EntityMappingsImpl.this.insertNewSqlResultSetMapping(i).set(o); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping remove(int i)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping old = EntityMappingsImpl.this.getSqlResultSetMappingArray(i);
                    EntityMappingsImpl.this.removeSqlResultSetMapping(i);
                    return old;
                }

                @Override
				public int size()
                    { return EntityMappingsImpl.this.sizeOfSqlResultSetMappingArray(); }

            }

            synchronized (monitor())
            {
                check_orphaned();
                return new SqlResultSetMappingList();
            }
        }

        /**
         * Gets array of all "sql-result-set-mapping" elements
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping[] getSqlResultSetMappingArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List targetList = new java.util.ArrayList();
                get_store().find_all_element_users(SQLRESULTSETMAPPING$20, targetList);
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping[] result = new com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }

        /**
         * Gets ith "sql-result-set-mapping" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping getSqlResultSetMappingArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping)get_store().find_element_user(SQLRESULTSETMAPPING$20, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }

        /**
         * Returns number of "sql-result-set-mapping" element
         */
        public int sizeOfSqlResultSetMappingArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(SQLRESULTSETMAPPING$20);
            }
        }

        /**
         * Sets array of all "sql-result-set-mapping" element
         */
        public void setSqlResultSetMappingArray(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping[] sqlResultSetMappingArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(sqlResultSetMappingArray, SQLRESULTSETMAPPING$20);
            }
        }

        /**
         * Sets ith "sql-result-set-mapping" element
         */
        public void setSqlResultSetMappingArray(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping sqlResultSetMapping)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping)get_store().find_element_user(SQLRESULTSETMAPPING$20, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(sqlResultSetMapping);
            }
        }

        /**
         * Inserts and returns a new empty value (as xml) as the ith "sql-result-set-mapping" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping insertNewSqlResultSetMapping(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping)get_store().insert_element_user(SQLRESULTSETMAPPING$20, i);
                return target;
            }
        }

        /**
         * Appends and returns a new empty value (as xml) as the last "sql-result-set-mapping" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping addNewSqlResultSetMapping()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.SqlResultSetMapping)get_store().add_element_user(SQLRESULTSETMAPPING$20);
                return target;
            }
        }

        /**
         * Removes the ith "sql-result-set-mapping" element
         */
        public void removeSqlResultSetMapping(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(SQLRESULTSETMAPPING$20, i);
            }
        }

        /**
         * Gets a List of "mapped-superclass" elements
         */
        public java.util.List<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass> getMappedSuperclassList()
        {
            final class MappedSuperclassList extends java.util.AbstractList<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass>
            {
                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass get(int i)
                    { return EntityMappingsImpl.this.getMappedSuperclassArray(i); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass set(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass o)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass old = EntityMappingsImpl.this.getMappedSuperclassArray(i);
                    EntityMappingsImpl.this.setMappedSuperclassArray(i, o);
                    return old;
                }

                @Override
				public void add(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass o)
                    { EntityMappingsImpl.this.insertNewMappedSuperclass(i).set(o); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass remove(int i)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass old = EntityMappingsImpl.this.getMappedSuperclassArray(i);
                    EntityMappingsImpl.this.removeMappedSuperclass(i);
                    return old;
                }

                @Override
				public int size()
                    { return EntityMappingsImpl.this.sizeOfMappedSuperclassArray(); }

            }

            synchronized (monitor())
            {
                check_orphaned();
                return new MappedSuperclassList();
            }
        }

        /**
         * Gets array of all "mapped-superclass" elements
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass[] getMappedSuperclassArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List targetList = new java.util.ArrayList();
                get_store().find_all_element_users(MAPPEDSUPERCLASS$22, targetList);
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass[] result = new com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }

        /**
         * Gets ith "mapped-superclass" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass getMappedSuperclassArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass)get_store().find_element_user(MAPPEDSUPERCLASS$22, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }

        /**
         * Returns number of "mapped-superclass" element
         */
        public int sizeOfMappedSuperclassArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(MAPPEDSUPERCLASS$22);
            }
        }

        /**
         * Sets array of all "mapped-superclass" element
         */
        public void setMappedSuperclassArray(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass[] mappedSuperclassArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(mappedSuperclassArray, MAPPEDSUPERCLASS$22);
            }
        }

        /**
         * Sets ith "mapped-superclass" element
         */
        public void setMappedSuperclassArray(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass mappedSuperclass)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass)get_store().find_element_user(MAPPEDSUPERCLASS$22, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(mappedSuperclass);
            }
        }

        /**
         * Inserts and returns a new empty value (as xml) as the ith "mapped-superclass" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass insertNewMappedSuperclass(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass)get_store().insert_element_user(MAPPEDSUPERCLASS$22, i);
                return target;
            }
        }

        /**
         * Appends and returns a new empty value (as xml) as the last "mapped-superclass" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass addNewMappedSuperclass()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass)get_store().add_element_user(MAPPEDSUPERCLASS$22);
                return target;
            }
        }

        /**
         * Removes the ith "mapped-superclass" element
         */
        public void removeMappedSuperclass(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(MAPPEDSUPERCLASS$22, i);
            }
        }

        /**
         * Gets a List of "entity" elements
         */
        public java.util.List<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity> getEntityList()
        {
            final class EntityList extends java.util.AbstractList<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity>
            {
                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity get(int i)
                    { return EntityMappingsImpl.this.getEntityArray(i); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity set(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity o)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity old = EntityMappingsImpl.this.getEntityArray(i);
                    EntityMappingsImpl.this.setEntityArray(i, o);
                    return old;
                }

                @Override
				public void add(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity o)
                    { EntityMappingsImpl.this.insertNewEntity(i).set(o); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity remove(int i)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity old = EntityMappingsImpl.this.getEntityArray(i);
                    EntityMappingsImpl.this.removeEntity(i);
                    return old;
                }

                @Override
				public int size()
                    { return EntityMappingsImpl.this.sizeOfEntityArray(); }

            }

            synchronized (monitor())
            {
                check_orphaned();
                return new EntityList();
            }
        }

        /**
         * Gets array of all "entity" elements
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity[] getEntityArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List targetList = new java.util.ArrayList();
                get_store().find_all_element_users(ENTITY$24, targetList);
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity[] result = new com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }

        /**
         * Gets ith "entity" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity getEntityArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity)get_store().find_element_user(ENTITY$24, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }

        /**
         * Returns number of "entity" element
         */
        public int sizeOfEntityArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(ENTITY$24);
            }
        }

        /**
         * Sets array of all "entity" element
         */
        public void setEntityArray(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity[] entityArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(entityArray, ENTITY$24);
            }
        }

        /**
         * Sets ith "entity" element
         */
        public void setEntityArray(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity entity)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity)get_store().find_element_user(ENTITY$24, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(entity);
            }
        }

        /**
         * Inserts and returns a new empty value (as xml) as the ith "entity" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity insertNewEntity(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity)get_store().insert_element_user(ENTITY$24, i);
                return target;
            }
        }

        /**
         * Appends and returns a new empty value (as xml) as the last "entity" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity addNewEntity()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Entity)get_store().add_element_user(ENTITY$24);
                return target;
            }
        }

        /**
         * Removes the ith "entity" element
         */
        public void removeEntity(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(ENTITY$24, i);
            }
        }

        /**
         * Gets a List of "embeddable" elements
         */
        public java.util.List<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable> getEmbeddableList()
        {
            final class EmbeddableList extends java.util.AbstractList<com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable>
            {
                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable get(int i)
                    { return EntityMappingsImpl.this.getEmbeddableArray(i); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable set(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable o)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable old = EntityMappingsImpl.this.getEmbeddableArray(i);
                    EntityMappingsImpl.this.setEmbeddableArray(i, o);
                    return old;
                }

                @Override
				public void add(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable o)
                    { EntityMappingsImpl.this.insertNewEmbeddable(i).set(o); }

                @Override
				public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable remove(int i)
                {
                    com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable old = EntityMappingsImpl.this.getEmbeddableArray(i);
                    EntityMappingsImpl.this.removeEmbeddable(i);
                    return old;
                }

                @Override
				public int size()
                    { return EntityMappingsImpl.this.sizeOfEmbeddableArray(); }

            }

            synchronized (monitor())
            {
                check_orphaned();
                return new EmbeddableList();
            }
        }

        /**
         * Gets array of all "embeddable" elements
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable[] getEmbeddableArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List targetList = new java.util.ArrayList();
                get_store().find_all_element_users(EMBEDDABLE$26, targetList);
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable[] result = new com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }

        /**
         * Gets ith "embeddable" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable getEmbeddableArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable)get_store().find_element_user(EMBEDDABLE$26, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }

        /**
         * Returns number of "embeddable" element
         */
        public int sizeOfEmbeddableArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(EMBEDDABLE$26);
            }
        }

        /**
         * Sets array of all "embeddable" element
         */
        public void setEmbeddableArray(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable[] embeddableArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(embeddableArray, EMBEDDABLE$26);
            }
        }

        /**
         * Sets ith "embeddable" element
         */
        public void setEmbeddableArray(int i, com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable embeddable)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable)get_store().find_element_user(EMBEDDABLE$26, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(embeddable);
            }
        }

        /**
         * Inserts and returns a new empty value (as xml) as the ith "embeddable" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable insertNewEmbeddable(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable)get_store().insert_element_user(EMBEDDABLE$26, i);
                return target;
            }
        }

        /**
         * Appends and returns a new empty value (as xml) as the last "embeddable" element
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable addNewEmbeddable()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Embeddable)get_store().add_element_user(EMBEDDABLE$26);
                return target;
            }
        }

        /**
         * Removes the ith "embeddable" element
         */
        public void removeEmbeddable(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(EMBEDDABLE$26, i);
            }
        }

        /**
         * Gets the "version" attribute
         */
        public java.lang.String getVersion()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VERSION$28);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_default_attribute_value(VERSION$28);
                }
                if (target == null)
                {
                    return null;
                }
                return target.getStringValue();
            }
        }

        /**
         * Gets (as xml) the "version" attribute
         */
        public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.VersionType xgetVersion()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.VersionType target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.VersionType)get_store().find_attribute_user(VERSION$28);
                if (target == null)
                {
                    target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.VersionType)get_default_attribute_value(VERSION$28);
                }
                return target;
            }
        }

        /**
         * Sets the "version" attribute
         */
        public void setVersion(java.lang.String version)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VERSION$28);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(VERSION$28);
                }
                target.setStringValue(version);
            }
        }

        /**
         * Sets (as xml) the "version" attribute
         */
        public void xsetVersion(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.VersionType version)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.googlecode.horncomb.orm.jpa.v10.xmlbeans.VersionType target = null;
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.VersionType)get_store().find_attribute_user(VERSION$28);
                if (target == null)
                {
                    target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.VersionType)get_store().add_attribute_user(VERSION$28);
                }
                target.set(version);
            }
        }
    }
}
